package com.sojson.util.pay.wx.bean.child.response;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.sojson.base.impl.BaseUtilDto;

/**
 * 微信订单金额Bean
 * 
 * @author liu
 * @date 2021-04-01
 */
public class WxResAmount extends BaseUtilDto {

    /***/
    private static final long serialVersionUID = 2231406852564862492L;

    /** 总金额(订单总金额,单位为分) */
    private String total;
    /** 用户支付金额(单位为分) */
    private String payerTotal;
    /** 货币类型(CNY:人民币,境内商户号仅支持人民币) */
    private String currency;
    /** 用户支付币种 */
    private String payerCurrency;
    /** 退款金额(单位为分) */
    private String refund;
    /** 用户退款金额(退款给用户的金额,不包含所有优惠券金额,单位为分) */
    private String payerRefund;
    /** 应结退款金额(去掉非充值代金券退款金额后的退款金额,申请退款金额-非充值代金券退款金额,单位为分) */
    private String settlementRefund;
    /** 应结订单金额(订单金额-免充值代金券金额,单位为分) */
    private String settlementTotal;
    /** 优惠退款金额(退款金额-代金券或立减优惠退款金额为现金,单位为分) */
    private String discountRefund;

    /** 获取总金额(订单总金额,单位为分) */
    public String getTotal() {
        return total;
    }

    /** 设置总金额(订单总金额,单位为分) */
    public void setTotal(String total) {
        this.total = total;
    }

    /** 获取用户支付金额(单位为分) */
    public String getPayerTotal() {
        return payerTotal;
    }

    /** 设置用户支付金额(单位为分) */
    @JsonProperty("payer_total")
    @JSONField(name = "payer_total")
    public void setPayerTotal(String payerTotal) {
        this.payerTotal = payerTotal;
    }

    /** 获取货币类型(CNY:人民币,境内商户号仅支持人民币) */
    public String getCurrency() {
        return currency;
    }

    /** 设置货币类型(CNY:人民币,境内商户号仅支持人民币) */
    public void setCurrency(String currency) {
        this.currency = currency;
    }

    /** 获取用户支付币种 */
    public String getPayerCurrency() {
        return payerCurrency;
    }

    /** 设置用户支付币种 */
    @JsonProperty("payer_currency")
    @JSONField(name = "payer_currency")
    public void setPayerCurrency(String payerCurrency) {
        this.payerCurrency = payerCurrency;
    }

    /** 获取退款金额(单位为分) */
    public String getRefund() {
        return refund;
    }

    /** 设置退款金额(单位为分) */
    public void setRefund(String refund) {
        this.refund = refund;
    }

    /** 获取用户退款金额(退款给用户的金额,不包含所有优惠券金额,单位为分) */
    public String getPayerRefund() {
        return payerRefund;
    }

    /** 设置用户退款金额(退款给用户的金额,不包含所有优惠券金额,单位为分) */
    @JsonProperty("payer_refund")
    @JSONField(name = "payer_refund")
    public void setPayerRefund(String payerRefund) {
        this.payerRefund = payerRefund;
    }

    /** 获取应结退款金额(去掉非充值代金券退款金额后的退款金额,申请退款金额-非充值代金券退款金额,单位为分) */
    public String getSettlementRefund() {
        return settlementRefund;
    }

    /** 设置应结退款金额(去掉非充值代金券退款金额后的退款金额,申请退款金额-非充值代金券退款金额,单位为分) */
    @JsonProperty("settlement_refund")
    @JSONField(name = "settlement_refund")
    public void setSettlementRefund(String settlementRefund) {
        this.settlementRefund = settlementRefund;
    }

    /** 获取应结订单金额(订单金额-免充值代金券金额,单位为分) */
    public String getSettlementTotal() {
        return settlementTotal;
    }

    /** 设置应结订单金额(订单金额-免充值代金券金额,单位为分) */
    @JsonProperty("settlement_total")
    @JSONField(name = "settlement_total")
    public void setSettlementTotal(String settlementTotal) {
        this.settlementTotal = settlementTotal;
    }

    /** 获取优惠退款金额(退款金额-代金券或立减优惠退款金额为现金,单位为分) */
    public String getDiscountRefund() {
        return discountRefund;
    }

    /** 设置优惠退款金额(退款金额-代金券或立减优惠退款金额为现金,单位为分) */
    @JsonProperty("discount_refund")
    @JSONField(name = "discount_refund")
    public void setDiscountRefund(String discountRefund) {
        this.discountRefund = discountRefund;
    }

}